【发布时间】:2015-06-11 19:12:09
【问题描述】:
假设我有一个包含以下文件的目录:
news_sports.html
news_food.html
news.html
index.html
我将如何使用 .Htaccess 进行设置,以便当http://example.com/en-gb/news/sports 访问我的网站时,它会从 news_sports.html 和 http://example.com/en-gb/news/food 读取 news_food.html 和 http://example.com/en-gb/news (有或没有末尾的斜线)读取 news.html
我当前的 .Htaccess 文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteCond %{DOCUMENT_ROOT}/$1_$2\.html -f
RewriteRule ^en-gb/([^/]+)/([^/.]+)/?$ $1_$2.html [L,NC]
RewriteCond %{DOCUMENT_ROOT}/$1\.html -f
RewriteRule ^(.+?)/?$ $1.html [L]
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
RewriteRule ^en-gb(.*)$ /site/views/en/gb/$1 [L,NC]
目录结构
HTDOCS
->site
->views
->en
->gb
->index.html
->news.html
->news_sport.html
->news_food.html
->us
->au
总结一下,我希望当用户使用以下网址进入我的网站时:http://example.com/en-gb/news/sports apache 需要从 HTDOCS ->site->views->en->gb->news_sports.html
提前致谢
【问题讨论】:
标签: regex apache .htaccess mod-rewrite