Я установил версию CakePHP 2.6 на Microsoft Windows Server 6.2 Служба IIS 8.5
в этом я установил WordPress блог в подкаталоге в папке приложения
|_ cakePHP
| |_ app
| |_ blog
| |_ lib
| |_plugins
каждая вещь работает правильно в приложении CakePHP и WordPress блог также работает
хорошо, если мы нажмем baseurl / блог /
индексная страница появилась правильно.
Но когда мы изменим настройку в настройке parmalink в WordPress и сделаем prety url похожим
https://www.baseurl.com/blog/hello-world/
он дает ошибку 404, но работает с простым URL-адресом, как
https://www.baseurl.com/blog/?p=1
но мне нужен URL prety parmalink, например
https://www.baseurl.com/blog/hello-world/
Я ищу много статей для этого, но также нахожу много, но ни один ответ не работает с оконным сервером с cakephp.
Как вы все знаете, .htacces не работает на iis 8, поэтому я создаю файл web.config в корневой папке cakephp
|_ cakePHP
| |_ app
| |_ blog
| |_ lib
| |_plugins
| |_web.config
код корневой папки / над web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<!--# Exclude requests already going to /subfolder to avoid an infinite loop-->
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^blog.*$" />
<action type="None" />
</rule>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>
<rule name="Exclude direct access to app/webroot/*" stopProcessing="true">
<match url="^app/webroot/c$" ignoreCase="false" />
<action type="None" />
</rule>
<rule name="Rewrite routed access to assets(geet_jewellery,img, css, files, js, favicon)" stopProcessing="true">
<match url="^(blog|buyanddelight|crm_geet|geet_jewellery1|geet_jewellery|img|css|files|js|favicon.ico)(.*)$" />
<action type="Rewrite" url="app/webroot/{R:1}{R:2}" appendQueryString="false" />
</rule>
<rule name="Rewrite requested file/folder to index.php" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<action type="Rewrite" url="index.php" appendQueryString="true" />
</rule>
</rules>
</rewrite>
<httpErrors errorMode="Custom" defaultPath="C:\Inetpub\wwwroot\Indexhome_.htm">
<error statusCode="403" subStatusCode="4" path="C:\Inetpub\wwwroot\Indexhome_.htm" responseMode="File" />
</httpErrors>
</system.webServer>
</configuration>
и web.config, который находится в корневой папке каталога блога, где все файлы WordPress находятся ниже
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WordPress: https://www.buyanddelight.com/blog" patternSyntax="Wildcard">
<match url="*"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="index.php"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Я нашел много ответов, но все они неполные, потому что некоторые из них без cakephp, некоторые без wordpress, а некоторые без отдыха на сервере IIS не работали, поэтому, пожалуйста, помогите мне в этом. надеясь на полный ответ спасибо
Вы также можете обратиться по ссылке ниже, чтобы уточнить мой вопрос, как это может быть достигнуто с помощью .htaccess, но я не могу найти ответ для сервера iis web.config
введите описание ссылки здесь
введите описание ссылки здесь