【问题标题】:htaccess To Work For Slash and No Slashhtaccess 为斜线和无斜线工作
【发布时间】:2013-06-09 17:15:29
【问题描述】:

我有一个网站,比如:example.com,上面有博客,所以应该是 example.com/?page=blog&slug=this-is-a-blog

我正在使用 htaccess 将其更改为 example.com/blog/this-is-a-blog,但它似乎不起作用。但是,如果我去,它确实有效:example.com/blog/this-is-a-blog/(注意尾部斜杠)。

如果可能的话,我希望它能够双向工作。我的 htaccess 代码,老实说,我不知道自己在做什么,所以这可能是完全错误的,如下所示:

Options -Multiviews
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/$ /?slug=$1&blog=$2 [L]

我试过了:

RewriteRule ^([^/]*)/([^/]*)/$ /?slug=$1&blog=$2 [L]
RewriteRule ^([^/]*)/([^/]*)$ /?slug=$1&blog=$2 [L]

但这只是让我页面上的所有链接(css、js、图像等)都损坏了。

谢谢!

【问题讨论】:

    标签: .htaccess mod-rewrite get


    【解决方案1】:

    必须排除现有文件和目录,如下所示:

    Options +FollowSymLinks -Multiviews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]*)/([^/]*)/? /?slug=$1&blog=$2 [L]
    

    【讨论】:

    • 美丽。太感谢了。你摇滚,@faa!
    【解决方案2】:

    试试这个:

    RewriteRule ^([^/]*)/([^/]*)/?$ /?slug=$1&blog=$2 [L]
    

    【讨论】:

      猜你喜欢
      • 2021-04-19
      • 2013-04-27
      • 1970-01-01
      • 2010-10-27
      • 2011-03-12
      • 1970-01-01
      • 2014-06-28
      • 2010-10-07
      • 2021-02-24
      相关资源
      最近更新 更多