【发布时间】:2012-02-01 00:22:51
【问题描述】:
我在这个网站和其他地方搜索并发现了很多非常相似的问题,但我已经尝试实施和修改我发现的所有建议,但没有一个有效。我意识到这是一个非常基本的问题,我非常沮丧,因为我正在尝试的任何方法都不起作用。
话虽如此...我正在尝试在 kurtiskronk.com/pages/... 中组织我的内容页面...(例如 kurtiskronk.com/pages/about.php)
我想要做的是让我可以简单地链接到 kurtiskronk.com/about ... 那么我该如何剥离“pages/”和“.php”呢?我没有大量的内容页面,所以如果我必须为每个页面指定内容,这没什么大不了的,尽管动态的东西会很方便。
注意:我正在使用 Rackspace 云托管,并且 WordPress 安装在 /blog 中。我的 phpinfo() 可以在http://kurtiskronk.com/pages/phpinfo.php看到
这是我现有的 .htaccess 文件(在根目录中)
php_value register_globals "on"
Options +FollowSymLinks
RewriteEngine On
#301 redirect to domain without 'www.'
RewriteCond %{HTTP_HOST} ^www\.kurtiskronk\.com$ [NC]
RewriteRule ^(.*)$ http://kurtiskronk.com/$1 [R=301,NC]
RewriteBase /
RewriteCond %{ENV:PHP_DOCUMENT_ROOT}/pages/$1 -f
RewriteRule ^(.*)$ pages/$1 [L]
RewriteCond %{ENV:PHP_DOCUMENT_ROOT}/pages/$1.php -f
RewriteRule ^(.*)$ pages/$1.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/ blog/index.php [L]
# PHP - MAIL
php_value mail.force_extra_parameters -kurtis@kurtiskronk.com
我测试并且重写与下面的行一起工作(/about 作为 URL 带来文件 /pages/about.php),但随后主页给出了 500 内部服务器错误:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /pages/$1.php [L]
所以我仍然和以前一样,作为一个后续问题,可能更困难的问题,如果你去http://kurtiskronk.com/weddings我正在使用带有 SSP Director 的 SlideShowPro (flash) (self-托管)作为它的后端。当它拉出一个新图像时,它会在 /weddings ... "#id=album-152&num=content-9698" 之后添加以下内容
投资组合有四个部分
# Homepage (kurtiskronk.com) id=album-148 ($id is constant for this section)
# Weddings (/weddings) id=album-152 ($id is constant for this section)
# Portraits (/portraits) id=album-151 ($id is constant for this section)
# Commercial (/commercial) id=album-150 ($id is constant for this section)
假设我们让 kurtiskronk.com/weddings 成功重写而不会破坏任何内容,我们如何使整个 URL 更清晰 kurtiskronk.com/weddings/9698 因为 $num 是给定部分中唯一会改变的东西?
【问题讨论】:
-
也许您可以先从右侧丢失的相关问题开始扫描,然后找到能回答您问题的问题。抱歉,这是一个非常 i> 基本和常见问题。
-
Terry 我很感激这对你来说是一个菜鸟问题,但我实际上浏览了大约 30 篇相关帖子(在过去 2 天在谷歌上查找并阅读了 htaccess 文件和重写规则之后)和我找到的解决方案中没有一个对我有用。如果这对您来说如此微不足道,我真诚地希望您能协助完成这项工作。
-
为什么在根 .htaccess 中使用“RewriteBase /blog/”,而不是在 blog/.htaccess 中?
标签: php .htaccess directory rewrite