我希望他们都有好看的网址,比如www.mypage / tennis或www.mypage / soccer而不是www.mypage /?page = tennis和www.mypage /?page = soccer
按照以下规则我可以实现:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule .* index.php [L]
所以现在如果我输入www.mypage / soccer,我的PHP脚本会读取这个网址并将其翻译为$ _GET ['page'] = soccer。这一切都很好!
问题如果我输入网址 www.mypage / soccer / ,网站无法找到每个链接的css或图片,因为它现在当然没有现有文件夹 / soccer / 。
如何制作将 / soccer / 转换为 / soccer 或任何其他/ blabla / to / blabla
的重写规则希望我的问题很明确!如果有人有任何好的页面,我可以学习更多正则表达式,我会非常高兴!
答案 0 :(得分:1)
我认为您不应该使用mod_rewrite
,而是修复您的CSS和图片路径。
更改relative to absolute的路径,
意思是,路径应以/
开头。
如果你有这个,无论你在哪个网站,/images/myimage.png
都会引用www.mypage.com/images/myimage.png
。
答案 1 :(得分:1)
试试这个:
RewriteRule ^([A-Za-z0-9-]+)/?$ ?page=$1 [L]
答案 2 :(得分:1)
# For URIs with query string:
RewriteCond %{QUERY_STRING} (.+)
RewriteRule (.*)/$ ?page=$1&%1 [L]
# All other
RewriteRule (.*)/$ ?page=$1 [L]