Сделать разные типы URL-адресов довольно с htaccess
У меня есть два типа URL-адресов, которые я хочу сделать удобочитаемыми/хорошими:
www.mydomain.com/index.php -> www.mydomain.com/index
(remove .php)
А также
www.mydomain.com/information.php?=story1 -> www.mydomain.com/information/story1
(replace .php=? with /)
Im using $_SERVER[REQUEST_URI] to grab the "story" from the database
Я пробовал дни и часы, но не могу найти никаких решений. Какие-либо предложения?
Хорошо, я понял это сам.
Первый: www.mydomain.com/index.php → www.mydomain.com/index (удалить.php)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
Второе: мне пришлось внести несколько изменений, но вот идет:
Цель: www.mydomain.com/information.php?story=1 → www.mydomain.com/information/1
RewriteEngine on
RewriteRule ^information/([A-Za-z0-9-\s]+)$ information.php?story=$1
И это добавляется в php-код:
$story_str = $_GET['story'];
$story_str = 1
В теге вашего php-кода добавьте это, чтобы убедиться, что ваши изображения и CSS загружены:
<base href="/" />
И, наконец, добавьте это в свой.htaccess, чтобы убедиться, что ваши изображения и CSS загружены:
RewriteRule ^detail/(css|js|img)/(.*)?$ /$1/$2 [L,QSA,R=301]
Вы должны попробовать следующее:
RewriteEngine On
# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/folder/$1 [R=301,L]
# Redirect external .php requests to extensionless url
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://example.com/folder/$1 [R=301,L]
# Resolve .php file for extensionless php urls
RewriteRule ^([^/.]+)$ $1.php [L]